import { createStore } from 'vuex'

import cart from './modules/cart'
import user from './modules/user'
import category from './modules/category'

// 使用第三方插件让vuex持久化 npm i vuex-persistedstate
import createPersistedstate from 'vuex-persistedstate'

export default createStore({
  // 数据
  state: {

  },
  // 改数据函数
  mutations: {
  },
  // 请求数据函数
  actions: {
  },
  // 分模块
  modules: {
    user,
    cart,
    category
  },
  // vuex的计算属性
  getters: {

  },
  // 配置项
  plugins: [
    createPersistedstate({
      // 保存在本地的名字(key)
      key: 'erabbit-client-pc-store',
      // 需要保存的模块
      paths: ['user', 'cart']
    })
    // vue3中的调试工具不支持查看vuex 所以通过内置api在控制台打印
    // createLogger()
  ]
})
